/**
 * 
 */
package org.william.common_boot.database;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;


/** 
 * 动态数据源
 * Description: 
 * @author xuhongwei
 * @version 1.0
 * <pre>
 * Modification History: 
 * Date         Author      Version     Description 
------------------------------------------------------------------
 * 2018年4月10日    xuhongwei     1.0        1.0 Version 
 * </pre>
 */
public class DynamicDataSource extends AbstractRoutingDataSource {

	private static final ThreadLocal<String> dataSourceHolder = new ThreadLocal<String>();
	
	/**
	 * 
	 * 获取数据源
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月10日
	 */
	@Override
	public Object determineCurrentLookupKey(){
		return dataSourceHolder.get();
	}
	
	/**
	 * 设置数据源
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月10日
	 */
	public  static void setDataSource(String dataSource){
		dataSourceHolder.set(dataSource);
	}
	

	
	
	/**
	 * 清空数据源
	 * Description: 
	 * @param
	 * @return Object
	 * @throws
	 * @Author xuhongwei
	 * Create Date: 2018年4月10日
	 */
	public static void cleanDataSource(){
		dataSourceHolder.remove();
	}
	
	
}
